#ifndef FOLDERCOPIERTHREAD_H
#define FOLDERCOPIERTHREAD_H

#include <QThread>
#include "foldercopier.h"

class FolderCopierThread : public QThread
{
    Q_OBJECT
public:
    FolderCopierThread(const char *letter,const char *source,const char *to);
    FolderCopierThread(const QString letter,const QString source,const QString to);
    ~FolderCopierThread();
    void setTitleId(QString titleId);
    void setId(QString id);
    void setParentalControl(bool value);
    void setDiscId(QString discId);
    void setDriveLetter(QString value);
    void setPathTo(QString path);
    QString getId();
    bool getParentalControl();
    QString getDiscId();
    QString getPathTo();

    QString getDriveLetter();
    int checkProgress();
    QString getValidFolderName();
protected:
    void run();
signals:
    void copyFinished(QString id,QString path,QString discId,bool parentalControl);
    void copyCanceled(QString id,QString path,QString discId,bool parentalControl);

public slots:
    void startCopy(const QString &titleId, const bool parentalControl);
    void stopCopy();
    void finished();
    void canceled();

private:
    QString driveLetter;
    QString pathSource;
    QString pathTo;
    QString titleId;
    FolderCopier _copier;
    QString _id;
    QString _discId;
    bool parentalControl;    

    QFile *_file;
};

#endif // FOLDERCOPIERTHREAD_H
